package com.example.javafx.simple;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.input.MouseButton;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class ContextMenuExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建一个 ContextMenu
        ContextMenu contextMenu = new ContextMenu();

        // 创建菜单项
        MenuItem item1 = new MenuItem("Option 1");
        MenuItem item2 = new MenuItem("Option 2");
        MenuItem item3 = new MenuItem("Option 3");

        // 将菜单项添加到 ContextMenu
        contextMenu.getItems().addAll(item1, item2, item3);

        // 创建一个文本组件，并为其添加右键菜单功能
        Text text = new Text("Right-click on me!");
        text.setOnMouseClicked(event -> {
            if (event.getButton() == MouseButton.SECONDARY) {
                // 在鼠标点击的地方显示 ContextMenu
                contextMenu.show(text, event.getScreenX(), event.getScreenY());
            }
        });

        // 创建布局并添加文本
        VBox root = new VBox(text);
        Scene scene = new Scene(root, 300, 200);

        // 设置并显示舞台
        primaryStage.setTitle("ContextMenu Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}